#pragma once
#include "..\..\CoreInterfaces.h"
#include <strstream>
namespace re
{
	namespace core
	{
		class LoadFileRequest : public IEventData
		{
		public:
			LoadFileRequest(std::wstring & fn) : filename(fn) {}
			~LoadFileRequest() {}

			EventType VGetEventTypeId();
			EventDataPtr VCreateCopy();
			void VGetEventDataAsString(std::wstring & data);

			static const EventType eventtype_;

			std::wstring filename;
		};
		class LoadFileResult : public IEventData
		{
		public:
			LoadFileResult(std::wstring & fn) : filename(fn) {}
			~LoadFileResult() {}

			EventType VGetEventTypeId();
			EventDataPtr VCreateCopy();
			void VGetEventDataAsString(std::wstring & data);

			static const EventType eventtype_;

			std::wstring filename;
		};
		class FileExistRequest : public IEventData
		{
		public:
			FileExistRequest(std::wstring & fn) : filename(fn) {}
			~FileExistRequest() {}

			EventType VGetEventTypeId();
			EventDataPtr VCreateCopy();
			void VGetEventDataAsString(std::wstring & data);

			static const EventType eventtype_;

			std::wstring filename;
		};
		class FileExistResult : public IEventData
		{
		public:
			FileExistResult(std::wstring & fn) : filename(fn) {}
			~FileExistResult() {}

			EventType VGetEventTypeId();
			EventDataPtr VCreateCopy();
			void VGetEventDataAsString(std::wstring & data);

			static const EventType eventtype_;

			std::wstring filename;
		};
	}
}